package com.demo.ioc.service.impl;

import com.demo.ioc.entity.User;
import com.demo.ioc.service.IAService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 优点：
 * 	1.注入方法简单，在字段上加上@Autowired即可
 * 	2.代码简明
 * 缺点：
 * 	1.存在空指针的情况
 * 	2.类与容器耦合，不能在外部使用
 * 	3.只能通过反射实例化
 */
@Service
public class AServiceImpl implements IAService {

    //通过反射注入
    @Autowired
    private User user;
    private String username;

    //执行顺序 构造方法->autowired
    public AServiceImpl(){
        //所以这里会存在空指针
        this.username = user.getUserName();
    }

}
